package com.tcd.pojo;

import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import java.util.List;

import com.tcd.outRisk.entity.ClaimMainInfo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.apache.ibatis.annotations.Options;

/**
 * <p>
 * 理算表
 * </p>
 *
 * @author space
 * @since 2021-05-27
 */
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="Claims对象", description="理算表")
public class Claims implements Serializable {

    @ApiModelProperty(value = "理算序号")
      @TableId(value = "claims_id", type = IdType.AUTO)
    private Integer claimsId;

    @ApiModelProperty(value = "理赔编号")
    private String claimsNumber;

    @ApiModelProperty(value = "赔案编号(外键)")
    @TableField("claim_main_id")
    private Long claimMainId;

    @ApiModelProperty(value = "车损金额")
    private BigDecimal carFeeTotal;

    @ApiModelProperty(value = "物损总金额")
    private BigDecimal materialFeeTotal;

    @ApiModelProperty(value = "人损总金额")
    private BigDecimal peopleFeeTotal;

    @ApiModelProperty(value = "损失赔付总金额")
    private BigDecimal lossTotal;

    @ApiModelProperty(value = "费用赔付总金额")
    @TableField("costSettlement")
    private BigDecimal costsettlement;

    @ApiModelProperty(value = "赔付总金额")
    private BigDecimal settlementTotal;

    @ApiModelProperty(value = "赔付金额")
    private BigDecimal compensationTotal;

    @ApiModelProperty(value = "理赔方式")
    private String claimsType;

    @ApiModelProperty(value = "已预付费用金额")
    private BigDecimal prepayMoney;

    @ApiModelProperty(value = "已预付损失金额")
    private BigDecimal prepayLossMoney;

    @ApiModelProperty(value = "理赔状态")
    private String state;

    @ApiModelProperty(value = "备注信息")
    private String remarkInfo;

    @ApiModelProperty(value = "创建时间")
      @TableField(fill = FieldFill.INSERT)
    private Date createTime;

    @ApiModelProperty(value = "修改时间")
      @TableField(fill = FieldFill.INSERT_UPDATE)
    private Date updateTime;

    @ApiModelProperty(value = "详细集合")
    @TableField(exist = false)
    private List<ClaimMainInfo> claimMain;

    @ApiModelProperty(value = "详细集合")
    @TableField(exist = false)
    private List<ClaimsDetail> details;


}
